(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
b(a, f(b(b(z, y), a))) → z
c(c(z, x, a), a, y) → f(f(c(y, a, f(c(z, y, x)))))
f(f(c(a, y, z))) → b(y, b(z, z))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
b(a, f(b(b(z0, z1), a))) → z0
c(c(z0, z1, a), a, z2) → f(f(c(z2, a, f(c(z0, z2, z1)))))
f(f(c(a, z0, z1))) → b(z0, b(z1, z1))
Tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
F(f(c(a, z0, z1))) → c3(B(z0, b(z1, z1)), B(z1, z1))
S tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
F(f(c(a, z0, z1))) → c3(B(z0, b(z1, z1)), B(z1, z1))
K tuples:none
Defined Rule Symbols:
b, c, f
Defined Pair Symbols:
C, F
Compound Symbols:
c2, c3
(3) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)
Removed 1 trailing nodes:
F(f(c(a, z0, z1))) → c3(B(z0, b(z1, z1)), B(z1, z1))
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
b(a, f(b(b(z0, z1), a))) → z0
c(c(z0, z1, a), a, z2) → f(f(c(z2, a, f(c(z0, z2, z1)))))
f(f(c(a, z0, z1))) → b(z0, b(z1, z1))
Tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
S tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
K tuples:none
Defined Rule Symbols:
b, c, f
Defined Pair Symbols:
C
Compound Symbols:
c2
(5) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
We considered the (Usable) Rules:
c(c(z0, z1, a), a, z2) → f(f(c(z2, a, f(c(z0, z2, z1)))))
f(f(c(a, z0, z1))) → b(z0, b(z1, z1))
And the Tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(C(x1, x2, x3)) = [2]x1 + x2 + [4]x3
POL(F(x1)) = 0
POL(a) = 0
POL(b(x1, x2)) = 0
POL(c(x1, x2, x3)) = [1] + [2]x1 + [4]x2
POL(c2(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + x4 + x5
POL(f(x1)) = 0
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
b(a, f(b(b(z0, z1), a))) → z0
c(c(z0, z1, a), a, z2) → f(f(c(z2, a, f(c(z0, z2, z1)))))
f(f(c(a, z0, z1))) → b(z0, b(z1, z1))
Tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
S tuples:none
K tuples:
C(c(z0, z1, a), a, z2) → c2(F(f(c(z2, a, f(c(z0, z2, z1))))), F(c(z2, a, f(c(z0, z2, z1)))), C(z2, a, f(c(z0, z2, z1))), F(c(z0, z2, z1)), C(z0, z2, z1))
Defined Rule Symbols:
b, c, f
Defined Pair Symbols:
C
Compound Symbols:
c2
(7) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(8) BOUNDS(O(1), O(1))